/**
 * @author LKQ
 * @date 2022/2/26 10:12
 * @description 原地修改数组
 */
public class Solution {
    public static void main(String[] args) {

    }
    public double averageWaitingTime(int[][] customers) {
        int m = customers.length;
        double ans = 0;
        for(int i = 0; i < m; i++) {
            if (i == 0) {
                // 第1位客人，[到达时间, 结束时间]
                customers[i][1] += customers[i][0];
            } else {
                // 后面的客人，如果当前到达时间 大于 前一位客人的结束时间，说明可以立即开始, [当前到达时间， 当前到达时间 + 做菜时间]
                // 如[2,3] , [6, 1] = [2. 5] , [6,7]
                if( customers[i-1][1] < customers[i][0]) {
                    customers[i][1] += customers[i][0];
                }else {
                    // 当前到达时间 <= 前一位客人结束时间，那么该位客人[到达时间，前一位客人结束时间+做菜时间]
                    // 如 [2,3], [4, 7] = [2, 5] , [4, 12]
                    customers[i][1] = customers[i-1][1] + customers[i][1];
                }
            }
        }
        for (int[] customer : customers) {
            ans += customer[1] - customer[0];
        }
        return ans / m;
    }
}
